package controllers

import (
	"cinema/models"

	"github.com/astaxie/beego"
)

type RefundController struct {
	beego.Controller
}

func (this *RefundController) Get() {
	this.TplName = ""
}

func (this *RefundController) Post() {
	name, _, flag := checkAccount(this.Ctx)
	if !flag {
		this.Redirect("/login", 302)
		return
	}
	// name := this.Input().Get("name")
	orderid := this.Input().Get("orderid")
	userid, status := models.Getuserid(name)
	if status == 0 {
		status = models.Refund(userid, orderid)
		// 返回状态值参数：
		// 0：退票成功
		// 1：退票失败，参数错误
		// 2：退票失败，找不到相应的订单
		// 3：退票失败，订单已完成退票
		// 4：退票失败，账号信息错误（请重新登录）
		// 5：退票失败，退票信息和登录信息不符合
		// 6；退票失败，系统错误
		var codejson interface{}
		switch status {
		case 0:
			codejson = Message{0, nil, "退票成功"}
		case 1:
			codejson = Message{1, nil, "退票失败，参数错误"}
		case 2:
			codejson = Message{1, nil, "退票失败，找不到相应的订单"}
		case 3:
			codejson = Message{1, nil, "退票失败，订单已完成退票"}
		case 4:
			codejson = Message{1, nil, "退票失败，账号信息错误（请重新登录）"}
			this.Data["json"] = codejson
			this.ServeJSON()
			this.Redirect("/login", 302)
			return
		case 5:
			codejson = Message{1, nil, "退票失败，退票信息和登录信息不符合"}
		case 6:
			codejson = Message{1, nil, "退票失败，系统错误"}
		}
		this.Data["json"] = codejson
		this.ServeJSON()
		this.Redirect("/", 302)
		return
	}

}
